专利摘要:
電子環境で画像コンテンツを取得または提供するのに必要な接続数および/または要求数は、要求にこたえる必要のある時に、コンテンツを動的に合成することによって低減することができる。多数の画像がネットワークを介して送信される場合、画像は送信要求の時に決定されて、1つのマスタ画像に合成される。画像の位置情報が記憶され、マスタ画像と共に送信を要求する装置に送信される。画像の寸法情報と共に位置情報を使用することで、装置は、CSS(cascading Style Sheets)スプライトなどのアプリケーションを使用して複数の画像の各々を抽出し、このようにして、1つの要求および1つの接続を使用して全ての画像を取得することができる。必要に応じて、複数のマスタ画像を使用することができる。
公开号:JP2011515777A
申请号:JP2011501865
申请日:2009-02-25
公开日:2011-05-19
发明作者:エム.スコット ショーン;ガウ デレク
申请人:アマゾン テクノロジーズ インコーポレイテッド;
IPC主号:G06F13-00
专利说明:

[0001] 本発明は、動的な画像合成に関する。]
背景技術

[0002] ますます多くの情報が、例えば、インターネットを経由するなど電子的に利用可能であるので、多くのユーザに対していつでも表示できるコンテンツの量や種類も増加する。例えば、ユーザがキーワードや問い合わせに基づいてコンテンツを検索する例では、非常に多くのアイテムが検索結果ページに返される。検索エンジンによる画像検索など、それぞれの結果が対応する画像を有する場合には、ページを表示する装置に転送される必要のあるデータが多量にあるために、全体のロード時間はかなり遅れる可能性がある。サーバがこのようなコンテンツを提供する際のロードを低減するために、多くのブラウザまたは他のクライアント側のGUI(graphical user interface:グラフィカル・ユーザ・インタフェース)アプリケーションが任意の時点で所与のサーバまたはホスト名への接続数を制限する。例えば、多くのこのようなインタフェースは、現在のところ、ユーザをホストへの2つの同時接続に制限している。接続数を制限するということは、共通のホストから画像を取り出すための各々の接続時に、100個の画像のページに対して、平均50個の要求が必要になるということである。電子環境の一例では、時間の5%だけがHTML文書のダウンロードに費やされ、95%がHTML文書内の要素(例えば、画像およびスクリプト)をフェッチするためのHTTP要求をするのに費やされる。したがって、ページの要素を要求しダウンロードするのに必要な時間を低減するのが望ましい。]
発明が解決しようとする課題

[0003] 1つの従来の手法は、複数のサーバ(実サーバまたは仮想サーバ)または異なるホスト名(例えば、images1.hostname.com、images2.hostname.com)を利用することである。このように、1つのブラウザからの同時接続の数は増加する。例えば、50のサーバがあり、ブラウザが各々のサーバに対する2つの接続を有する場合、例となるページ上の100の画像の全てが平行してダウンロードされる。別の方法では、2つの接続がある場合、各々の接続に対して、潜在的に平均で50個の画像が順にダウンロードされる(速度や画像サイズに応じて、実際の数はおそらく2つの接続間で時間とともに均一に分割されなくなる)。しかし、明らかなように、所与のページ上で示される画像の数を処理するのに十分な数のサーバを持つこと、および種々のサーバまたはホスト名の画像へのリンク、URL(uniform resource locator:ユニフォーム・リソース・ロケータ)または他のマッピングを生成し維持しようとするのは実用的でない場合もある。これは、特に、コンテンツがしばしば変化する場合に問題になる可能性がある。また、さらに別の100の要求がある場合、平行して行われても、性能は最適でなく、このことでサーバ上のロードを著しく増加させ、ネットワークトラフィックやシステムトラフィックを増大させる。さらに、各画像は別個に記憶および/または転送され、このことが画像の共通の特徴に基づいた画像の圧縮をさらに妨げることになる。]
課題を解決するための手段

[0004] したがって、いくつかの改善点の中でも、特に、コンテンツが動的に決定され、および/またはコンテンツが複数のソースからのものである場合に、電子環境でコンテンツを要求および/または配信するプロセスを改善することが望ましい。]
[0005] 本開示の種々の実施形態は、図面を参照して説明する。]
図面の簡単な説明

[0006] 一実施形態に従って使用可能なシステム構成を示す図である。
一実施形態に従って使用可能なユーザインタフェースの一例を示す図である。
図2のインタフェースの例の一部を生成するのに使用可能な合成画像を示す図である。
図2のインタフェースの例の一部を生成するのに使用可能な合成画像を示す図である。
一実施形態に従って使用可能な画像を決定および合成する方法を示す図である。
一実施形態に従って使用可能な合成画像から個々の画像を抽出する方法を示す図である。] 図2
実施例

[0007] 本開示の種々の実施形態に従うシステムおよび方法は、電子環境でコンテンツを転送するための従来の手法に見られた1つまたは複数の上述の欠点および他の欠点を克服することができる。さまざまな手法では、コンテンツを取得するのに必要な接続数を低減するためにコンテンツの複数のインスタンスが合成されうる。また、それとは別に、個々のインスタンスを別々に要求するのに必要な時間およびリソースの量を低減するためにコンテンツの複数のインスタンスが合成されうる。]
[0008] 図1は、種々の実施形態に従う態様を実装する環境100の一例を示す図である。理解されるであろうが、必要に応じて、種々の実施形態を実装するのに異なる環境が使用される場合もある。図示されている環境100は、クライアント電子装置102を含む。クライアント電子装置102は、適切なネットワーク104を介して要求、メッセージ、または情報を送受信して、情報を装置のユーザに返すように動作可能な適切な装置を含むことができる。このようなクライアント装置の例として、パーソナル・コンピュータ、携帯電話、ハンドヘルド型メッセージング装置、ラップトップ・コンピュータ、セットトップ・ボックス、携帯情報端末、電子書籍リーダなどが挙げられる。ネットワークは、イントラネット、インターネット、セルラー・ネットワーク、ローカル・エリア・ネットワーク、任意の他のこのようなネットワーク、またはこれらの組み合わせなど、任意の適切なネットワークを含むことができる。このようなネットワークを経由して通信するためのプロトコルおよびコンポーネントは周知であり、本明細書では詳細に説明しない。ネットワーク経由の通信は、有線接続または無線接続、またはこれらの組み合わせにより可能になる。この例では、ネットワークは、インターネットを含み、環境として、要求を受信してその要求に応答してコンテンツを供給するウェブサーバ106を含むが、他のネットワークでは、当業者に明らかであるように、同様の目的を供給するための代替の装置が使用される場合もある。] 図1
[0009] 一実施形態の環境は、1つまたは複数のコンピュータネットワークまたは直接接続を使用して通信リンク経由で相互接続される複数のコンピュータシステムおよびコンポーネントを利用する分散コンピューティング環境である。しかし、システムは図1に示されたコンポーネントより少ない、またはそれより多いコンポーネントを有するシステムでも同様に十分に動作可能であることは当業者には明らかであろう。したがって、図1のシステム100は、当然な実例として、本開示の範囲を制限するものでないと解釈されるべきである。] 図1
[0010] 図示されている環境はさらに、少なくとも1つのアプリケーションサーバ108とデータストア110とを含む。本明細書で使用される時、用語「データストア」はデータの記憶、アクセス、取り出し可能な任意の装置または装置の組み合わせを指し、任意の標準的な、分散環境、クラスタ化環境において、任意の組み合わせおよび任意の数のデータサーバ、データベース、データ記憶装置、およびデータ記憶媒体を含んでもよい。アプリケーションサーバは、クライアント装置に対して1つまたは複数のアプリケーションのアスペクトを実行するのに必要とされるデータストアと統合するための任意の適切なハードウェアおよびソフトウェアを含み、データアクセスやアプリケーションのビジネスロジックの大部分を処理することができる。アプリケーションサーバは、データストアと協働して、アクセス制御サービスを行い、ユーザに転送されるテキスト、グラフィック、オーディオ、および/またはビデオなどのコンテンツを生成することができ、これらのコンテンツはウェブサーバによって、ハイパーテキスト転送プロトコルを使用して、少なくとも1つのウェブページに対してHTML(Hypertext Markup Language:ハイパーテキストマークアップ言語)の形式でユーザに供給される。クライアント装置102とアプリケーションサーバ108との間での全ての要求や応答、およびコンテンツの配信は、ウェブサーバによって処理される。]
[0011] 各サーバは、そのサーバの一般管理および動作のための実行可能プログラム命令を提供するオペレーティングシステムを含むことができ、サーバのプロセッサによって実行される時にサーバに対象の機能を実行させる命令を記憶するコンピュータ可読媒体を含むことができる。特に、本明細書内の開示内容を踏まえると、オペレーティングシステムの適切な実装およびサーバの汎用機能は周知であり、または市販されており、当業者によって容易に実装される。]
[0012] データストア110は、特定のアスペクトに関するデータを記憶するための複数の別個のデータテーブル、データベース、または他のデータ記憶機構および媒体を含むことができる。例えば、図示されているデータストアは、カタログの明細データ112、コミュニティデータ114、ユーザ情報116、発注書データ118を記憶する機構を含む。例えば、ページ画像情報やアクセス権情報などのデータストアに記憶される必要のある多くの他のアスペクトも可能であることは理解されたい。これらは、必要に応じて上述の機構のいずれかに記憶されるか、またはデータストア110内の追加の機構に記憶される。データストア110は、それとともに関連付けられたロジックによって、アプリケーションサーバ108からの命令を受信し、その命令に応答してデータを取得、更新、またはそれ以外の処理を行うように動作可能である。一例では、ユーザは特定の種類のアイテムの検索要求を提出する場合がある。この場合、データストアはユーザ情報にアクセスしてユーザのIDを確認し、カタログ明細情報にアクセスしてその種類のアイテムに関する情報を取得することができる。その後、その情報は、例えば、ブラウザを介してユーザ装置102上でユーザが見ることができるウェブページ上に結果リストとしてユーザに返される。対象となる特定のアイテムに関する情報は、ブラウザの専用ページまたはウィンドウで見ることができる。]
[0013] 1つの特定の実施形態では、マーケットプレイスを実装するシステムは、1つまたは複数のアイテムの消費を提供する複数の第一および第三者の売り手によって買い手に提出されるオファーリストを管理する。この例では、マーケットプレイスシステムは、小売サーバと、オファー・リスティング・エンジンと、バック・エンド・インタフェースと、オファーリスト管理エンジンとを含む。これらのエンジンおよびインタフェースは、別々のコンピュータシステム(例えば、別々のサーバ)を使用して実装されるか、または1つのコンピュータシステム上でプロセスとして実装されてもよい。さらにまた、各エンジンまたはインタフェースは、複数の分散システムを使用して実装されてもよい。小売サーバは、マーケットプレイスを使用して、例えば、ウェブベースのインタフェースを使用して、取引を望む買い手および売り手にフロントエンド・インタフェースを提供するように構成される。ウェブベースのインタフェースは、買い手および売り手が、口座の開設および管理、販売または他の消費用のアイテムの提示、販売アイテムに関する情報の提供、販売用に提示されたアイテムの閲覧、販売用に提示されたアイテムの購入などを行うことができるように構成されている。さらに、小売サーバは、これらの取引に関する支援機能、例えば、セキュリティ機能、金融取引機能、ユーザ識別機能などを実装するように構成される。小売サーバは、第三者の売り手によって販売用に提示されたアイテムを表示する複数のウェブページを含むことができるオファー・リスティング・ウェブサイトを提供するように構成される場合がある。]
[0014] 本例では、このオファー・リスティング・エンジンは、第一および第三者の売り手によって提出されたアイテムを販売するためのオファーリストを受信、記憶、および提供するように構成されたコンピュータシステムである。リスト内の各オファーは、アイテムおよびアイテムの販売に関するさまざまな情報、例えば、アイテム説明、アイテム価格、アイテムの状態、出荷情報、売り手情報などを含む場合がある。さらに、オファー・リスティング・エンジンは、オファーリスティングに関する1つまたは複数の機能、例えば、小売サーバによって実装されたユーザインタフェースを介して受信された入力に基づいて小売サーバによって呼び出し可能な検索機能を実装するように構成されてもよい。例えば、買い手は、小売サーバから検索インタフェースを取り出して、「ラップトップコンピュータ」などのユーザインタフェースの入力フィールドに検索用語を提供することができる。小売サーバは、オファー・リスティング・エンジンに、この検索用語を伝えるように構成されてもよい。オファー・リスティング・エンジンは、オファー・リスティング・データベースを使用して検索する検索機能を実装して、オファーデータベース内の提出された検索用語に関連する全てのアイテムを含むオファーリストを生成することができる。したがって、オファー・リスティング・エンジンは、マーケットプレイスシステムにおける第三者の売り手によってその時点で販売用に提示されているラップトップコンピュータ用のオファーの完全リストを生成するように構成されてもよい。]
[0015] 図2は、本明細書に記載されている種々の実施形態によって生成できるGUI(Graphical User Interface:グラフィカル・ユーザ・インタフェース)に表示されたページ200の一例を示す図である。この特定の例では、説明のために商業サイトの結果ページが使用される。しかし、特に、複数の別個の画像などのコンテンツのインスタンスをある点から別の点に電子的に送信しなければならない場合に、種々の実施形態の範囲および目的の範囲内で、任意の適切なページ、文書、または他の電子オブジェクトが使用可能であることは理解されたい。] 図2
[0016] 図2の例は、本明細書では、一般に「静的」および「動的」タイプと呼ばれる2つのタイプのオブジェクトを含むが、静的部分は本明細書で示すように変化する可能性があり、文字通りに解釈されるべきでないことは理解されたい。図示された商業ウェブページの例では、「静的」部分は、ページ上に他のコンテンツがあっても通常表示される標準的なナビゲーションアスペクト、情報アスペクト、または他のアスペクトを示すページの要素を指す。このような静的要素は、ページ200用のタイトル、キャプションまたはロゴ202、およびナビゲーションアスペクト204、ユーザ選択可能なアスペクト206を含むことができる。ページのこのバージョンがユーザに対して表示される度に、これらの静的要素、ここでは、ウェブページで使用するのに一般的なJPEG画像などの画像が表示される(異なるバージョンは、異なるソフトウェアリリース、異なるユーザ選択またはカスタマイズなどに相当する)。これらの要素は、ウェブサイトの静的部分と見なされ、単一ソースからのものとすることができ、典型的には、ページのロードする速度を改善するためにクライアントマシンのキャッシュ内に記憶される。] 図2
[0017] この例のページの「動的」部分は、結果セクション内に含まれる要素に相当する。例えば、ユーザは、上述のユーザ選択可能アスペクト206の使用といった、電子マーケットプレイスから以前購入した、またはそれ以外の形で消費したアイテムを検索したいと思うかもしれない。その結果、画像やテキストなどのオブジェクトは要求に応答して返されるが、この場合、これらの画像やテキストはユーザによって以前購入された、または別の形で消費された(すなわち、借りられた、またはリースされた)アイテムに相当する。電子環境において要求する方法および結果を返す方法は周知であるので、本明細書では詳細に示さない。この例では、少なくとも4つのアイテムが、ユーザ選択またはクエリに応答して返される。アイテムに相当する結果に含まれるのは、4つの画像208、210、212、214であり、各画像は各々のアイテムに対する結果が提示される。スクリーンの解像度やインタフェースのウィンドウサイズなどのインタフェースの制約のために4つの画像のみが示されているが、検索結果の数が増えれば(その数はインタフェースの機能的能力などによって制限されるが)、返される画像は数百、さらには数千も可能である。上述したように、ウェブブラウザのようなインタフェースが、一度に特定のウェブサーバまたはホストに対して2つまたは4つの接続のみが可能であるとする。各々が異なる画像を有する100個の結果がある場合、同時に4つの接続が確立されても、1つの接続に対して平均で25個の要求があることになり、これらは順々に処理されなければならず、ひいては、ページ全体のロード時間にかなりの遅延が生じることになる。上述したように複数のホストを使用するような方法が使用されるが、これらの方法は欠点を伴う。]
[0018] このようなページのロード時間を改善する1つの方法は、インタフェースを実行する装置とコンテンツサーバとの間(またはそれらの間の要素間)で、1つの接続を介して1つの要求を使用してロードされる静的部分の1つの大型画像を作成することである。サイトの基本的な静的要素は長時間にわたってほぼ変化しないので、例えば、標準的な画像編集または画像作成ソフトウェアパッケージを使用して、大型画像を簡単に作成することが可能であり、この画像はインタフェースによって利用されるクライアント装置に送信される。一例では、当業者に周知の簡単なイメージマップを使用して、ユーザ選択の相対座標に基づいてさまざまなアクションを大型画像上に取り込むことができる。このような方法は、大型画像を作成された通りに使用するのに限定され、転送される画像のサイズを小さくするために画像のスペース的な圧縮を可能にするものではない。ページの上部および下部に静的要素がある場合もあるので、画像はページ全体を占めるほど大きいものにしなければならなくなり、画像の「上」に配置される物を制限してしまう場合がある。]
[0019] 別の例では、CSS(Cascading Style Sheets)のような技術が使用され、大型画像が複数の小さな画像に「分割」されうる。当業者に周知のように、CSSスプライト技術は、マスタ画像上でビューポートを使用して、その画像の一部を小さな別個の画像として抽出するものである。本明細書内で使用されるビューポートは仮想ウィンドウまたは選択可能領域を指し、抽出で使用されるビューポートのプロパティを指定することによって画像の一部を抽出するのに使用されうる。一例では、ビューポートの高さおよび幅と共に上方座標と左手座標とが指定され、画像の矩形部分を規定する。マスタ画像の領域を規定するのと同様の方法が、種々の実施形態の範囲内でも使用可能である。ビューポートがマスタ画像の一部で規定されると、CSSスプライト技術がビューポートの下の画像の一部を有効に抽出し、クライアント装置上で新しい画像を作成する。これらの画像はページ、フレーム、ウィンドウなどの中に要求に応じて位置決めされる。これは、マスタ画像をコピーして、コピー画像の所望の部分にクロッピングすることに類似している。この方法により、サーバ側でナビゲーション要素と他の静的要素とを1つの画像300に組み合わせてパックして、図3(a)に示されるようにマスタ画像のサイズを小さくすることができる。この1つの静的マスタ画像の生成は、例えば、サイトの設計者または他の適切なユーザによって行われる。さらに、この単一画像はユーザ装置のキャッシュに記憶され、ユーザがページを返す時にそのページの画像を再ロードする必要がなくなる。いくつかの実施形態では、マスタ画像はサイトの複数のページまたは全てのページの静的情報を含むことができ、サイトにおけるユーザの位置に関係なく、いずれの静的要素も再要求せずに、単一画像だけがクライアント装置に送信されてクライアント装置でキャッシュされればよいことになる。]
[0020] ウェブサイトなどのページセットの静止画像の合成はいくつかの利点を有するが、その要素は、典型的には、一定の時間で一度ダウンロードされるだけで、キャッシュに残り、サイトの要求およびロード時間は、全体として少し低減されるだけである。また、この方法は、ユーザが各々のマスタ画像を合成する必要があり、これにはかなりの時間がかかり、さらに、サイトの各ページが適切な画像および座標情報と共に符号化される必要がある。マスタ画像から最も有効である特定のサイトまたはページは、例えば、アイテム説明ページ、検索結果ページ、または多くのコンテンツがほぼ要求時に動的に決定され、クライアントアプリケーションがコンテンツを取得するのに複数の連続した要求を使用する他のページである。]
[0021] 図2に関する上述の例では、ユーザは、サイトを使用してユーザが購入した、またはそれ以外の形で消費した全てのアイテムが表示されているページを選択している。ユーザが例えば、100個のアイテムを購入した場合、100個の画像がそのページに別々にダウンロードされなければならない。例えば、ユーザが追加のアイテムを購入する場合のように、ユーザがこのページに数回訪問する間に結果が変わる場合もあるので、ユーザがページに訪問する度に表示されるべき画像は、実際には開発者によって作成されるのは不可能である。また、非常に多くの訪問者があるサイトでは、この方法は大規模なものとなる。] 図2
[0022] この方法の別の問題は、画像は複数のソースからのものである可能性があることである。いくつかの実施形態は1つの画像サービスまたは画像ソースを利用するが、大型のマーケットプレイス、サイト、または他のコンテンツプロバイダは第三者のソースを含む複数のソースからのコンテンツを使用する場合があり、これらのソースは常に変化する可能性もある。したがって、従来の画像合成方法は、このような環境では役に立たない。]
[0023] 一方、一実施形態のシステムおよび方法は、コンテンツの要求に応答して、画像の動的な合成および抽出を行う。この場合、結果ページまたは他の表示機構に含まれる画像は、要求に応答して決定され、分解および表示のためにクライアントまたは他の装置に送信される前に動的に合成される。例えば、図2は、ユーザ要求に応答してユーザに表示されるべきアイテムに相当する4つの画像208、210、212、および214を示す。ウェブサーバまたは他のこのような装置が要求を受信すると、例えば、画像サービスに対する呼び出しにより、これらの4つの画像はウェブサーバに返され、クライアントに送信される。しかし、別々の要求によってこれらの画像を送信するのではなく、画像は図3(b)に示されたような1つのマスタ画像350に動的に合成される。画像の記憶サイズを低減するために、個々の画像はマスタ画像の使用されないスペースの量を最小限に抑えるように配置、またはパックされる。] 図2
[0024] 図3(b)の例に見られるように、4つの画像は隙間なくパックされ、1つの「マスタ」画像350に合成される。しかし、これらの画像を抽出または分解するために、いくつかの位置情報および/または識別情報も提供しなければならない。例えば、上述したように、CSSスプライトなどの方法は個々の画像を抽出するのにビューポートを使用する。ページをレンダリングする際に、ページが第3の画像212を使用したい場合、ページは、位置情報(例えば、上方および左手の座標)および/またはビューポート寸法情報(dimensional information)(例えば、ビューポートの高さおよび幅)を示す情報(例えば、ページのXML文書内に記憶される)にアクセスすることができる。ビューポートの寸法と位置とを規定する2つの対向する座標を使用するといった、画像の位置決めまたは配置に対する他の方法も使用できる。表示される画像が全て同じサイズである場合、寸法情報を決定および/または送信する必要がない。それは、ビューポートのサイズが変わらないので、1つの座標が各画像を抽出するのに十分な情報であるためである。他の実施形態では、画像は共通のサイズに変更され、クロッピングされ、またはそれ以外に修正されるので、同様に寸法情報は必要でない。画像がマスタ画像に合成される前に画像のサイズが変更される場合、寸法情報はマスタ画像から画像を抽出するために、かつ画像を元のサイズに戻すために必要となる。]
[0025] 図3(b)に示されるように、座標情報およびビューポート寸法情報が決定されると、個々の画像が「抽出され」、別々の画像として機能的に処理されるように、ビューポート352はマスタ画像350内の対象画像212に対して位置決めされる。抽出された画像を使用するために、さらに必要に応じて、その後の使用のために画像をキャッシュするために、少なくとも1つの実施形態では、画像用の画像識別子を付与することも望ましい。このことは、特に、共通の画像が1つのページ上で2回以上使用される場合に、画像を正確に配置するのに役立つ。このように、1つのページ上の画像が、例えば、ホストまたはサーバへの接続最大数に相当する1つ、2つ、または4つの画像を使用して送信されて、全ての画像が1つまたは複数の同時要求と平行して有効にダウンロードできることになる。]
[0026] 上述したように、この方法は、ページをロードする際の全体のパフォーマンスを改善することができる。ウェブ環境では、例えば、サーバに対する各々のHTTPまたは他のクライアント要求は、あるレベルの関連オーバーヘッドを有する。約2KBまたは3KBのサイズの画像を要求する場合、サーバに送信される要求は、画像を取得するのに約1KBの情報を含む場合がある。ダウンロードされる100個の画像がある場合、この方法は99KBのアップロードを保存することができる。これは、さらに、クライアントからのアップロードスピードがサーバからのダウンロードスピードより遅い状況で利点がある。また、単に1つの要求または1組の同時要求に対する応答を待てばよいので、先行技術のシステムに見られるような待機順序がなくなる。]
[0027] 少なくともいくつかの場合において、合成される時に、1つの無限定のカラーマップまたは全体がより小さいカラーマップがページ上の全ての画像に使用でき、このことがさらにページに送信されなければならない情報を低減することができるという点で、別の潜在的利点が得られる。全ての画像におけるカラーマップと共に、両方向のHTTPヘッダを考慮すると、このページを提供するためのネットワーク量をかなり低減できる。]
[0028] 一実施形態では、画像は、まず画像の仮想キャンバスを作成し、その後、個々の画像のビットマップ(または他の非圧縮)バージョンを要求および/または作成することで合成される。次に、画像は適切な順序でキャンバス上に配置され、本明細書で説明したように、パックされてキャンバスのサイズを最小にすることができる。画像が作成されると、カラーマップに対して任意の望ましい変更が実行される、または新しいカラーマップが生成されて、画像はJPEGまたはGIF形式などの標準形式に圧縮される。個々の画像の各々に対する座標も記憶される。本明細書内に含まれる教示や提案を踏まえて当業者に明らかなように、使用される画像を解凍、合成、圧縮できる種々のメディアライブラリが存在する。このプロセスは、一例では、この画像を手動で作成するのにかかる時間の代わりに、約数十または数百ミリ秒かかる可能性がある。]
[0029] いくつかの実施形態では、合成画像を利用するのが有利であるか否かを判断するために、計算が行われる、または閾値が使用される。例えば、10個以下の画像がある場合、大型画像をダウンロードするために合成プロセスを通して行うのはあまり利点がない。また、個々の画像のサイズや形状が異なるためにキャンバス全体がかなりの量の「デッドスペース」を含む場合には、画像は合成できない場合がある。別の閾値が合成画像の最大のサイズを設定する場合があり、この場合、ページの個々の画像の一部を含む追加のマスタ画像が使用される。]
[0030] 上述したように、コンテンツ配信の方法のための多くのアプリケーションがある。例えば、複数のソースからの結果を返すが、実際にはどのコンテンツも所有またはホストしない検索エンジンは、有利にこの方法を使用する場合がある。広告キャンペーン、交代式バナー広告および多くの他のこのようなアプリケーションもこの方法を利用することができる。さらに、画像が一例として使用されているが、必要に応じて他のタイプの電子コンテンツも使用可能である。]
[0031] 図4は、一実施形態で使用される、配信用コンテンツを合成する例示的方法400のステップを示す図である。この方法では、ユーザ要求は、クライアント装置402から、例えば、パーソナルコンピュータ上のウェブブラウザから受信される。ユーザ要求は、ユーザクエリを生成するのに使用される検索クエリまたはキーワード、用語、または属性などのクエリ情報を含むことができる。明らかであるように、検索クエリは、クライアントが要求を送信することによって、または装置、アプリケーション、もしくは要求を受信するサービス、用語、キーワード、属性などを使用するサービスによって生成される。例えば、ユーザは、電子マーケットプレイスを使用して靴を買おうとする時に、キーワードに「男」と「靴」と入力すると、その用語に一致する検索結果を取得する要求は、これらのキーワードを使用して形成されたクエリを含むか、またはサーバ側の検索クエリに形成される実際のキーワードを含む可能性がある。したがって、クエリは、ユーザが提出したキーワードに限定されないが、例えば、属性ベースのアイテム検索を定義するチェックボックスまたは他の選択機構による選択属性に基づくことができる。例えば、ユーザは、追加のフリー形式のキーワードを提出するかしないかに関わらず、いくつかある属性のうち、特定のブランド、価格範囲、色、種類などの属性に基づいて絞ることによって、アイテムの電子カタログを閲覧することができる。] 図4
[0032] クエリの受信に応答して、クエリに対して複数の画像を含む結果が決定される(404)。画像サービスまたは少なくとも1つの画像データストアから、要求にこたえるのに必要とされる画像が取得される(406)。次に、画像は、本明細書で説明または提案された任意の方法を使用して、1つの画像に合成される(408)。一例では、画像を解凍し、画像を空白のキャンバスに貼り付けて、得られるマスタ画像を再び圧縮するのに画像ライブラリが使用される。別の実施形態では、合成サービスが使用される場合、種々の画像のパラメータは、例えば、URL(uniform resource locator:ユニフォーム・リソース・ロケータ)クエリ文字列を使用して渡される。URLクエリ文字列は、合成される必要のある画像A、B、およびCを指定するために、「?params=abc」のような部分を含むことができる。上述したように、画像は、例えば、列、行または矩形状の任意の適切な形でパックされ、デッドスペースを最小にし、または合成されたマスタ画像の全体の記憶サイズを低減するように配置が調節される。当業者に周知のように、多数のパッキングアルゴリズムのうちいずれかが使用される。一実施形態に従って画像を合成するのに使用される1つのサービスは、ImageMagickグラフィック操作ライブラリ(オープンソース)を利用するRubyプログラミング言語用のRMagickである。]
[0033] 合成プロセスの時またはその前後で、マスタ画像内の各画像の位置が記憶される(410)。これらの位置は、必要となるまでキャッシュまたは他のメモリに記憶される。種々の画像のIDも記憶できる。画像がマスタ画像に合成されると、マスタ画像がクライアント装置に送信される(412)。さらに、画像の各々の位置情報が、例えば、XML文書のデータの形式または結果ページが画像を表示するための他のデータ構造でクライアント装置に送信される(414)。マスタ画像および位置情報はクライアント装置によって受信されると、例えば、CSSを使用して、個々の画像が抽出されページがレンダリングされる(416)。上述したように、さらにマスタ画像を使用してレンダリングされる画像マップを生成するために、位置情報および寸法情報が使用される。他の実施形態は、本明細書内に含まれる技術や提案を踏まえ当業者に明らかなさまざまな技術を使用して、XML文書または画像情報をレンダリングするため他のデータ構造の情報を利用する。]
[0034] 図5は、一実施形態に従って使用できる、マスタ画像を分解しページを作成するための方法500のステップを示す図である。上述したように。コンテンツの要求が提出される(502)。要求に応答して、マスタ画像が受信され(504)、それと共にレンダリングされるページのための情報が受信される(506)。ページのための情報は、例えば、マスタ画像から個々の画像を抽出するのに必要な情報を含むXML文書またはHTML文書を含むことができる。ページ情報を使用して、マスタ画像内の各々の画像に対して位置データが決定される(508)。上述したように、位置データは、個々の画像に対応するマスタ画像の領域を決定するのに必要な座標情報および/またはビューポート寸法情報を含むことができる。次に、各々の画像は、位置情報を使用して抽出される(510)。上述したように、これには、クライアント装置上に個々の画像を生成するために、ビューポートを使用してマスタ画像の一部を抽出するためのCSSスプライト技術をが含まれる。抽出された画像は、対応する画像識別子に関連付けられ(512)、その後、ページをレンダリングするのに使用される(514)。大型画像がキャッシュされる場合には、ページが再ロードされる場合に画像を再抽出できるように位置情報も記憶される。] 図5
[0035] いくつかの実施形態では、合成画像が記憶されている場所のURLを含むXML文書が返されて、必要に応じて合成画像が取り出される。これは、例えば、結果ページを提供するために選択されたウェブサーバ上で行われる。ウェブサーバは、XMLデータを解析して、新しい合成フォーマットから元の画像へのマッピングを利用する。ページ内の全ての画像タグは、クライアント装置にダウンロードされる合成画像を簡単に参照することができる。マスタ画像は、必要に応じて個々の画像を取得するのにCSSまたは別のこのような技術から呼び出すことができるようにキャッシュに記憶され、サーバに対する次の要求の必要性または合成画像を再び生成する必要性を省くことができる。上述したように、マスタ画像はさらに、例えば、追加ページ、フレーム、またはサイトの一部の画像または要素を記憶することもできる。この場合のトレードオフは、特に、マスタ画像のほんの小さな一部が再利用される場合に、マスタ画像をダウンロードするのに必要な時間およびマスタ画像を記憶するのに必要なメモリに対する画像に入れる情報量である。例えば、複数のページに対してマスタ画像を使用する場合、プログラマまたは他の開発者は、使用される画像の一部の識別子などを認識し、維持しなければならなくなる。]
[0036] CSSスプライト技術を利用する一実施形態では、画像は、DIV要素などの任意の要素がCSSを参照するクラスセットを有することができるように、バックグランドとして使用できる。この場合、CSS.imageclassのようなクラスは、ソースとしてマスタ画像を有することができる。この時、呼び出しは、DIVビューポートをマスタ画像に対する適切な位置に移動させるために上方および左手のオフセットを指定する。クラスに対する呼び出しは、さらにビューポートを囲む高さと幅を指定する。この方法により、CSSが組み込まれたHTMLでページを開発することができるが、画像タグを使用して画像を表示する従来の方法は、画像タグが固有の画像やソース情報を必要とするので、有効でない。]
[0037] 一例では、表示される最も幅の広い画像と同じ幅で、画像が列内にパックされる場合、全ての画像をはめ込むのに十分な高さのキャンバスが作成される。いくつかの実施形態では、分割するために画像間に1つのピクセル空間を設けて、各画像は左寄せされる。この例では、1つのバックグラウンドの画像がアンカー要素に貼り付けられ、新しいCSSクラスがy座標だけでバックグラウンド位置をシフトさせる。
#nav Ii a {background-image:url{'../img/image_example.jpg')}
#nav Ii a.first_element {background-position:Opx Opx}
#nav Ii a:viewport.first_element {background-position:Opx -100px}
#nav Ii a.second_element {background-position:Opx -150px;}
#nav Ii a:viewport.second_element {background-position:Opx -175px;}
この例では、2つの画像が「first_element」、「second_element」で表わされ、その位置は(x、y)座標で確立され、ビューポートは「viewport」状態のy値を適切な高さ(および列の全幅)に調節することによって確立される。バックグラウンドの画像をオフセットするための別の例では、ピクセル位置が既知であるので、状態のみが表示される。
#panel1b a:viewport{background:transparent url(example.gif)0px Opx no-repeat;}
#panel2b a:viewport{background:transparent url(example.gif)-96px Opx no-repeat;}
#panel3b a:viewport{background:transparent url(example.gif)-172px Opx no-repeat;}
#panel4b a:viewport{background:transparent url(exampte.gif)-283px Opx no-repeat;}
第1の値は、左端からの水平オフセット値であり、第2の値は、(上端からの)垂直オフセット値である。この場合、マスタ画像は列ではなく、行に貼り付けされる画像を有するので、各々の垂直オフセット値は等しい。]
[0038] いくつかの実施形態では、画像の動的合成は、さまざまなユーザ、アプリケーションなどに対するサービスとして提供される。例えば、ネットワークを介して多数の画像を送信するためのアプリケーションはいずれも、動的合成サービスを使用することができる。動的合成サービスは、送信される画像を受信して、画像をマスタ画像に合成し、マスタ画像およびその位置情報を返す(または対象とする受信者に送信する)ことができる。例えば、画像がアプリケーションに返されていない場合、または画像が異なるサイズを有する場合、マスタ画像と共に寸法情報も送信される。いくつかの実施形態では、画像はサービス要求と共に送信されるが、他の実施形態では、URLまたは他の位置情報が送信されて、それによりサービスが画像情報を取り出すことができる。この時、サービスは、このサービスと共に使用されるさまざまな方法、例えば、使用回数制料金システム、購買料金システムなどを使用して決済し請求することができる。]
[0039] 動的合成はさらに、多数の領域で行われるのが有利である。それは、複数の画像がネットワークまたは他の接続を介して送信されるアプリケーションまたは実装には動的な画像合成のアスペクトが有効であるためである。本明細書で説明されている例は、電子マーケットプレイスを使用して購入されたアイテムまたは情報を求めるユーザクエリに応答して得られた検索結果などの結果セットと共に多数の画像が表示される時の画像合成の使用について言及している。ユーザが任意の数の画像をアップロード、編集、削除、閲覧できる画像ホスティングサービスのような多くの他のこのようなアプリケーションにも有効である。アイテム検索結果、アイテム提案、個人向けコンテンツ、アイテムアクセサリ、または表示される画像がユーザ要求または閲覧のほぼその時点で決定される任意の他のアスペクトのような商業サイトの種々の他のアスペクトにも有効であり、画像は実際に事前に合成されず、転送は1つまたは少ない数の接続の利点を得られる。特に、多数のサムネイル画像が表示されるインスタンスには、この方法が有効である。]
[0040] 上述したように、いろいろなオペレーティング環境で種々の実施形態を実装することができる。オペレーティング環境の一部の例では、1つまたは複数のユーザコンピュータ、コンピューティング装置、または多数のアプリケーションのうちのいずれかを操作するのに使用される処理装置を含むことができる。ユーザ装置またはクライアント装置は、例えば、標準的なオペレーティングシステムを実行するデスクトップまたはラップトップコンピュータ、またモバイルソフトウェアを実行し、多数のネットワークプロトコルおよびメッセージングプロトコルをサポート可能なセルラー、無線、およびハンドヘルド装置などの多数の汎用パーソナルコンピュータのうちのいずれかを含むことができる。このシステムはさらに、さまざまな市販のオペレーティングシステムのうちのいずれかを実行する多数のワークステーションと、開発およびデータベース管理などのための他の既知のアプリケーションを含むことができる。これらの装置はさらに、ダミー端末、シンクライアント、ゲームシステム、およびネットワーク経由で通信可能な他の装置などの他の電子装置を含むことができる。]
[0041] ほとんどの実施形態は、TCP/IP、OSI、FTP、UPnP、NFS、CIFS、およびAppleTalkなどのさまざまな市販のプロトコルを使用して通信をサポートするために、当業者に周知の少なくとも1つのネットワークを使用する。ネットワークは、例えば、ローカル・エリア・ネットワーク、高域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、およびこれらの組み合わせとすることができる。]
[0042] ウェブサーバを使用する実施形態では、ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データサーバ、Java(登録商標)サーバ、およびビジネス・アプリケーション・サーバなどのさまざまなサーバまたはmid−tierアプリケーションのうちのいずれかを実行することができる。サーバ(複数可)はさらに、ユーザ装置からの要求に応答して、例えば、Java(登録商標)、C、C♯、C++、またはPerl、Python、もしくはTCLなどの任意のスクリプト言語、およびこれらの組み合わせなどのプログラミング言語で書かれた1つまたは複数のスクリプトまたはプログラムとして実装されている1つまたは複数のウェブアプリケーションを実行することによって、プログラムまたはスクリプトを実行することができる。サーバ(複数可)はさらに、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、およびIBM(登録商標)から市販されているデータベースサーバなどのデータベースサーバを含むことができるが、これらに限定されない。一実施形態では、システムは、開発者が自身のアプリケーション内に商業的に信頼性および利用可能性のある、迅速、拡張可能、トランザクションのデータベースエンジンを組み込むことができる、オープンソースの組み込み可能なデータベースの一種であるBerkeley DBを使用する。]
[0043] 環境は、上述したように、さまざまなデータストア、他のメモリ、記憶媒体を含むことができる。これらはさまざまな場所に位置することができ、例えば、ローカルな(および/または常駐する)、1つまたは複数のコンピュータはネットワークを介して任意のまたは全てのコンピュータからリモート位置にある。特定の組の実施形態では、情報は、当業者に周知の「SAN」(storage−area network:記憶領域ネットワーク)に位置することができる。同様に、コンピュータ、サーバ、または他のネットワーク装置による機能を実行するための任意の必要なファイルは、必要に応じて、ローカルにおよび/またはリモートに記憶されてもよい。システムは、コンピュータ装置を含み、各々の装置は、バスを介して電子的に結合されたハードウェア要素、例えば、少なくとも1つのCPU(central processing unit:中央処理ユニット)、少なくとも1つの入力装置(例えば、マウス、キーボード、コントローラ、またはキーパッド)、少なくとも1つの出力装置(例えば、表示装置、プリンタ、またはスピーカ)などの要素を含むことができる。また、このシステムは、ディスクドライブ、光学式記憶装置、RAM(random access memory:ランダム・アクセス・メモリ)またはROM(read−only memory:リード・オンリ・メモリ)などの固体記憶装置、取り外し可能な媒体装置、メモリカード、フラッシュカードなどの1つまたは複数の記憶装置を含んでもよい。]
[0044] この装置はさらに、コンピュータ可読記憶媒体リーダ、通信装置(例えば、モデム、ネットワークカード(無線または有線)、赤外線通信装置など)、上述したようなワーキングメモリを含むことができる。コンピュータ可読記憶媒体リーダは、リモート、ローカル、固定、および/または取り外し可能な記憶装置、さらに、コンピュータ可読情報を一時的に、および/またはより永続的に含み、記憶し、送信し、取り出すための記憶媒体であるコンピュータ可読記憶媒体に接続される、またはそれを受信するように構成される。また、システムおよび種々の装置は、典型的には、多数のソフトウェアアプリケーション、モジュール、サービス、または少なくとも1つのワーキングメモリ装置内に位置する他の要素、例えば、オペレーティングシステム、およびクライアントアプリケーションまたはウェブブラウザなどのアプリケーションプログラムを含むことができる。代替の実施形態は、上述した内容によると非常に多くの変形形態を有することを理解されたい。例えば、カスタマイズハードウェアが使用される場合もあるし、および/または特定の要素がハードウェア、ソフトウェア(アプレットのような携帯型ソフトウェアなど)、またはその両方に実装される場合もある。さらに、ネットワーク入出力装置などの他のコンピューティング装置への接続がなされてもよい。]
[0045] 記憶媒体およびコードまたはコードの一部を含むコンピュータ可読媒体は、当分野で周知または使用されている適切な媒体を含むことができる。これには、例えば、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶および/または送信するための方法または技術で実装された揮発性および不揮発性、取り出し可能および取り出し不可能な媒体などの記憶媒体および通信媒体であり、例えば、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、DVD(digital versatile disk:デジタル多用途ディスク)もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を記憶し、システム装置によってアクセス可能な任意の他の媒体が挙げられるが、これらに限定されない。本明細書で示された開示および教示に基づいて、当業者は種々の実施形態を実装する他の手段および/または方法を理解するだろう。]
[0046] したがって、明細書および図面は、限定的ではなく例示的なものとする。しかし、請求項で説明されるような本発明の広範な精神および範囲から逸脱せずに、これらに種々の修正や変更が加えられてもよいことは明らかであろう。]
权利要求:

請求項1
ウェブページを作成する際に使用する画像を配信するための、コンピュータで実装された方法であって、クライアント装置上のウェブブラウザからの要求を受信するステップと、前記要求の受信に応答して、前記ウェブブラウザを介して表示されるウェブページを作成する際に使用される複数の画像を決定するステップと、前記要求の受信に応答して、前記複数の画像をマスタ画像に合成するステップと、前記マスタ画像に関連する前記複数の画像の各々の位置情報および寸法情報を記憶するステップと、前記要求に応答して、前記マスタ画像、前記位置情報、および前記寸法情報を前記クライアント装置に提供するステップとを含み、前記クライアント装置上のCSS(cascadingStyleSheets)スプライトモジュールは、前記要求に応答して前記ウェブブラウザ内に表示される前記ウェブページを作成するために、前記位置情報および前記寸法情報を利用して、前記マスタ画像内の前記複数の画像の各々を配置および抽出することが可能であることを特徴とするコンピュータで実装された方法。
請求項2
前記CSSスプライトアプリケーションは、前記マスタ画像に対してビューポートを形成するために前記位置情報および前記寸法情報を利用し、それに従って前記ビューポートが移動およびサイズ変更されて前記複数の画像のいずれかを抽出することができることを特徴とする、請求項1に記載のコンピュータで実装された方法。
請求項3
前記複数の画像を合成する前に、前記決定された複数の画像を複数のソースから取り出すステップをさらに含むことを特徴とする、請求項1に記載のコンピュータで実装された方法。
請求項4
電子環境で画像を送信するための、コンピュータで実装された方法であって、コンテンツに対する要求の受信に応答して、前記コンテンツに関連付けられた複数の画像を決定するステップと、前記要求の受信に応答して、前記複数の画像をマスタ画像に合成するステップと、前記マスタ画像に関連する前記複数の画像の各々の位置情報を記憶するステップと、前記要求に応答して前記マスタ画像と前記位置情報とを提供するステップとを含み、前記複数の画像の各々は前記位置情報を使用して抽出可能であることを特徴とするコンピュータで実装された方法。
請求項5
前記位置情報を記憶するステップは、前記マスタ画像内の各々の画像の位置に対応する前記複数の画像の各々の1組の座標で決定するステップを含むことを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項6
前記複数の画像の各々の寸法情報を記憶するステップをさらに含み、前記寸法情報は、前記複数の画像の各々を抽出する際に使用するために前記位置情報と共に提供できることを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項7
前記マスタ画像と前記位置情報とを提供するステップは、提供装置と受信装置との間の1つの接続を使用して発生することを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項8
前記複数の画像のうちのいずれかを取得するための後続の要求を必要とせずに、前記複数の画像の全てが前記マスタ画像内に提供されることを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項9
前記要求されたコンテンツを表示するために使用されるインタフェースの一部に関する別個の複数の画像を決定するステップと、前記別個の複数の画像を別個のマスタ画像に合成し、前記要求に応答して前記別個のマスタ画像を提供するステップであって、それにより、前記別個の複数の画像を抽出及び使用し、前記インタフェースを生成することができる、ステップとをさらに含むことを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項10
前記マスタ画像と前記位置情報とを使用して画像マップを生成するステップをさらに含み、前記位置情報は、前記マスタ画像内の前記複数の画像の各々に対するマッピングを決定するのに使用されることを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項11
前記複数の画像を合成する前に、複数のソースから決定された前記複数の画像を取り出すステップをさらに含むことを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項12
前記コンテンツは、電子マーケットプレイスを介して消費されるアイテムに関することを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項13
前記複数の画像を合成するステップは、前記複数の画像の第1の部分を第1のマスタ画像に合成するステップと、前記複数の画像の第2の部分を第2のマスタ画像に合成するステップとを含み、これにより前記第1のマスタ画像と前記第2のマスタ画像は別個の接続を介して同時に提供できることを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項14
前記マスタ画像は、前記コンテンツに関する複数のページを作成する際に使用するための画像を含むことを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項15
前記マスタ画像のキャンバスサイズを最小にするために、前記マスタ画像内の前記複数の画像の各々の位置を決定するステップをさらに含むことを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項16
前記マスタ画像の記憶サイズを低減するために、前記マスタ画像の新しいカラーマップを生成するステップをさらに含むことを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項17
前記マスタ画像と前記位置情報とをキャッシュするステップをさらに含み、それにより前記複数の画像がほぼ同じコンテンツに対する後続の要求に応答して再合成される必要がないことを特徴とする請求項4に記載のコンピュータで実装された方法。
請求項18
検索結果を提供するためのコンピュータで実装された方法であって、クエリ情報を含む要求を受信するステップと、前記クエリ情報に対応する検索結果セットであって、複数の画像を含む前記結果セットを決定するステップと、前記要求の受信に応答して、前記複数の画像を前記マスタ画像に合成し、前記マスタ画像に関連する前記複数の画像の各々の位置情報を記憶するステップと、前記要求に応答して、前記マスタ画像、前記位置情報および前記検索結果セットに関する情報を提供するステップであって、それにより前記複数の画像の少なくとも一部を含む検索結果ページを作成するために、前記位置情報を使用して、前記複数の画像の各々を抽出できる、ステップとを含むことを特徴とするコンピュータで実装された方法。
請求項19
前記マスタ画像、前記位置情報、および前記検索結果セットに関する情報のキャッシュを提供するステップであって、それにより検索結果の複数の別個のページを介して前記複数の画像を抽出できる、ステップをさらに含むことを特徴とする請求項18に記載のコンピュータで実装された方法。
請求項20
前記マスタ画像のキャンバスサイズを最小にするために、前記マスタ画像内の前記複数の画像の各々の位置を決定するステップをさらに含むことを特徴とする請求項18に記載のコンピュータで実装された方法。
請求項21
電子環境で画像を配信するためのシステムであって、プロセッサと、前記プロセッサによって実行される時に、前記プロセッサに、コンテンツに対する要求の受信に応答して、前記要求されたコンテンツに関連付けられた複数の画像を決定させ、コンテンツに対する前記要求の受信に応答して、前記複数の画像をマスタ画像に合成させ、前記マスタ画像に関連する前記複数の画像の各々の位置情報を記憶させ、前記要求に応答して、前記マスタ画像と前記位置情報とを提供させ、それにより前記位置情報を使用して前記複数の画像の各々を抽出できるようにする命令を含むメモリ装置とを備えることを特徴とするシステム。
請求項22
前記メモリ装置は、前記プロセッサによって実行される時に、前記プロセッサに、前記マスタ画像のサイズを最小にするために、前記マスタ画像内の前記複数の画像の各々の位置を決定させる命令をさらに含むことを特徴とする請求項21に記載のシステム。
請求項23
前記メモリ装置は、前記プロセッサによって実行される時に、前記プロセッサに、前記マスタ画像の記憶サイズを低減するために、前記マスタ画像の新しいカラーマップを生成させる命令をさらに含むことを特徴とする請求項21に記載のシステム。
請求項24
電子環境で画像を配信するためのコンピュータ可読媒体内に組み込まれるコンピュータプログラム製品であって、コンテンツに対する要求の受信に応答して、前記要求されたコンテンツに関連付けられた複数の画像を決定するためのプログラムコードと、コンテンツに対する前記要求の受信に応答して、前記複数の画像をマスタ画像に合成するためのプログラムコードと、前記マスタ画像に関連する前記複数の画像の各々の位置情報を記憶するためのプログラムコードと、前記要求に応答して、前記マスタ画像と前記位置情報とを提供し、それにより前記位置情報を使用して前記複数の画像の各々を抽出できるようにするためのプログラムコードとを含むことを特徴とするコンピュータプログラム製品。
請求項25
前記マスタ画像のサイズを最小にするために、前記マスタ画像内の前記複数の画像の各々の位置を決定するためのプログラムコードをさらに含むことを特徴とする請求項24に記載のコンピュータプログラム製品。
类似技术:
公开号 | 公开日 | 专利标题
US20190294629A1|2019-09-26|Systems and Methods of Building and Using an Image Catalog
US10416851B2|2019-09-17|Electronic publishing mechanisms
US10146887B2|2018-12-04|Providing separate views for items
US9122754B2|2015-09-01|Intelligent video summaries in information access
US20160267060A1|2016-09-15|Web content capturing, packaging, distribution
CN102708146B|2017-12-26|本地编辑远程存储的图像
US20160005107A1|2016-01-07|System for selling, buying, lending and renting virtual region and method thereof
US20190332639A1|2019-10-31|Speeding up document loading
US8595186B1|2013-11-26|System and method for building and delivering mobile widgets
US7792958B1|2010-09-07|Transaction management system
US9911239B2|2018-03-06|Augmenting a live view
US6310601B1|2001-10-30|Resizing images to improve network throughput
US9426255B2|2016-08-23|Apparatus and method for dynamically coordinating the delivery of computer readable media
KR100674697B1|2007-01-25|서버, 정보제공방법 및 기록매체
US7278092B2|2007-10-02|System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US6061659A|2000-05-09|System and method for integrating a message into a graphical environment
AU774271B2|2004-06-24|Information presentation and management in an online trading environment
KR101021321B1|2011-03-11|캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은객체를 생성하는 캐시 시스템 및 방법
US6964009B2|2005-11-08|Automated media delivery system
US6356283B1|2002-03-12|Method and system for HTML-driven interactive image client
US7072061B2|2006-07-04|Method and system for extracting information from RFQ documents and compressing RFQ files into a common RFQ file type
DE60116343T2|2006-08-31|Webserver
US8788529B2|2014-07-22|Information sharing between images
US7216290B2|2007-05-08|System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US5999944A|1999-12-07|Method and apparatus for implementing dynamic VRML
同族专利:
公开号 | 公开日
CA2719593C|2016-01-05|
US20090248831A1|2009-10-01|
CN102027469B|2014-06-04|
EP2274693A1|2011-01-19|
US8010624B2|2011-08-30|
CA2719593A1|2009-10-01|
WO2009120440A1|2009-10-01|
EP2274693A4|2011-05-04|
CN102027469A|2011-04-20|
JP5222997B2|2013-06-26|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JPH10208020A|1997-01-22|1998-08-07|Fuji Xerox Co Ltd|画像処理装置|
JPH10333539A|1997-06-04|1998-12-18|Meiko Network Japan:Kk|パソコン通信学習システム及びパソコン通信学習システム用の学習データを記録した記録媒体|
JPH11250054A|1998-03-02|1999-09-17|Mitsubishi Electric Corp|切り張り型Webページ生成装置および生成方法|
JP2002287614A|2001-03-27|2002-10-04|Ntt Comware Corp|画像情報送信サーバ、画像情報送信方法およびそのプログラム|
WO2002101654A1|2001-06-07|2002-12-19|Sec Corporation|Programme pour la formation automatique d'image et support de donnees dans lequel ledit programme est range|
US20060238547A1|2001-12-14|2006-10-26|Liquidpixels, Inc.|System and method for dynamically generating on-demand digital images|
JP2005251137A|2004-03-08|2005-09-15|Sony Ericsson Mobilecommunications Japan Inc|コンテンツ閲覧システム、通信制御ユニット、携帯通信端末及びコンテンツ閲覧方法|
JP2006285578A|2005-03-31|2006-10-19|Seiko Epson Corp|ページ編集装置、ページ編集方法およびコンピュータプログラム|
US20070094588A1|2005-10-25|2007-04-26|Research In Motion Limited|Image stitching for mobile electronic devices|
JP2007312240A|2006-05-19|2007-11-29|Z-Tec Home Service:Kk|携帯端末動的画像表示システム|WO2013099358A1|2011-12-28|2013-07-04|楽天株式会社|画像提供装置、画像提供方法、画像提供プログラム、及びそのプログラムを記録するコンピュータ読み取り可能な記録媒体|
JP2015053563A|2013-09-05|2015-03-19|キヤノン株式会社|画像閲覧システム、画像記録装置及び画像閲覧装置|US7925982B2|2006-09-01|2011-04-12|Cheryl Parker|System and method of overlaying and integrating data with geographic mapping applications|
US20080071559A1|2006-09-19|2008-03-20|Juha Arrasvuori|Augmented reality assisted shopping|
US8234564B2|2008-03-04|2012-07-31|Apple Inc.|Transforms and animations of web-based content|US8704852B2|2008-09-25|2014-04-22|Juniper Networks, Inc.|Methods for generating one or more composite image maps and systems thereof|
US20110029899A1|2009-08-03|2011-02-03|FasterWeb, Ltd.|Systems and Methods for Acceleration and Optimization of Web Pages Access by Changing the Order of Resource Loading|
US8311900B1|2009-10-29|2012-11-13|Amazon Technologies, Inc.|Providing separate views for items|
US8706661B2|2009-11-10|2014-04-22|Yahoo! Inc.|System and method for generating an image sprite|
US9367371B2|2010-02-05|2016-06-14|Paypal, Inc.|Widget framework, real-time service orchestration, and real-time resource aggregation|
US9325804B2|2010-11-08|2016-04-26|Microsoft Technology Licensing, Llc|Dynamic image result stitching|
US8904472B2|2010-11-12|2014-12-02|Riaz Ahmed SHAIKH|Validation of consistency and completeness of access control policy sets|
US9697628B2|2011-03-18|2017-07-04|Paypal, Inc.|On-demand image spriting|
US8994748B2|2011-05-10|2015-03-31|Google Inc.|Anchors for displaying image sprites, sub-regions and 3D images|
JP2012242918A|2011-05-17|2012-12-10|Sony Corp|情報処理装置、情報処理方法及びプログラム|
FR2976098B1|2011-06-06|2013-07-12|Myriad France|Procede d'affichage d'une image elementaire d'une image composee et dispositif de visualisation associe|
US20130036193A1|2011-07-07|2013-02-07|Ebay Inc.|System and method for generating dynamic image sprites|
US9465572B2|2011-11-09|2016-10-11|Microsoft Technology Licensing, Llc|Dynamic server-side image sizing for fidelity improvements|
US20130167013A1|2011-12-23|2013-06-27|Qnx Software Systems Limited|Method of presenting digital data on an electronic device operating under different environmental conditions|
US9384711B2|2012-02-15|2016-07-05|Microsoft Technology Licensing, Llc|Speculative render ahead and caching in multiple passes|
US9519661B2|2012-04-17|2016-12-13|Excalibur Ip, Llc|Method and system for updating a background picture of a web search results page for different search queries|
US9177533B2|2012-05-31|2015-11-03|Microsoft Technology Licensing, Llc|Virtual surface compaction|
US9235925B2|2012-05-31|2016-01-12|Microsoft Technology Licensing, Llc|Virtual surface rendering|
US9230517B2|2012-05-31|2016-01-05|Microsoft Technology Licensing, Llc|Virtual surface gutters|
US9286122B2|2012-05-31|2016-03-15|Microsoft Technology Licensing, Llc|Display techniques using virtual surface allocation|
KR20140142863A|2013-06-05|2014-12-15|한국전자통신연구원|그래픽 편집기 제공 장치 및 그 방법|
US9390076B2|2013-06-06|2016-07-12|Microsoft Technology Licensing, Llc|Multi-part and single response image protocol|
US9307007B2|2013-06-14|2016-04-05|Microsoft Technology Licensing, Llc|Content pre-render and pre-fetch techniques|
US20150082149A1|2013-09-16|2015-03-19|Adobe Systems Incorporated|Hierarchical Image Management for Web Content|
CN104572668B|2013-10-15|2018-07-27|阿里巴巴集团控股有限公司|基于多个样式文件生成合并样式文件的方法和设备|
CN103605521A|2013-11-21|2014-02-26|广州爱九游信息技术有限公司|一种实现界面对位的方法及装置|
US10108639B2|2014-02-14|2018-10-23|Rakuten, Inc.|Display control device, display control device control method, program and information storage medium|
CN104063492B|2014-07-04|2017-09-29|用友网络科技股份有限公司|图片合并方法和图片合并系统|
US10757164B2|2014-10-22|2020-08-25|Paypal, Inc.|Performance improvement of web pages by on-demand generation of composite images|
US9953016B2|2015-04-28|2018-04-24|Box, Inc.|Composition and declaration of sprited images in a web page style sheet|
CN106355207A|2016-08-31|2017-01-25|五矿电子商务有限公司|一种比对网页中合并图的方法和装置|
US10282202B2|2016-09-29|2019-05-07|Scirra Ltd.|In-editor spritesheeting|
CN106649794A|2016-12-28|2017-05-10|北京奇虎科技有限公司|图片合成方法及装置|
US10783211B2|2017-01-16|2020-09-22|Wangsu Science & Technology Co., Ltd.|Page processing method and device thereof|
CN108924668A|2018-06-11|2018-11-30|聚好看科技股份有限公司|图片加载、数据提供方法及装置|
法律状态:
2012-03-26| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120326 |
2012-05-07| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120502 |
2012-08-01| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120731 |
2012-09-19| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120918 |
2012-12-19| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121218 |
2012-12-27| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121226 |
2013-01-19| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130118 |
2013-02-07| TRDD| Decision of grant or rejection written|
2013-02-13| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130212 |
2013-03-14| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130311 |
2013-03-15| R150| Certificate of patent or registration of utility model|Ref document number: 5222997 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2013-03-15| FPAY| Renewal fee payment (event date is renewal date of database)|Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
2016-03-01| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2017-03-07| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-03-06| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-03-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2020-02-28| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2021-03-02| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]